1. Field of the Invention
The present invention relates to a call control apparatus for performing call control on calls requesting additional services, as well as call control on calls not requesting additional services, in an exchange serving as a service switching point in an intelligent network constructed to provide additional services, such as toll-free telephone service and virtual private network service, to subscribers. The invention also relates to a method of call control in the exchange.
2. Description of the Related Art
An intelligent network (IN) for providing additional services such as toll-free telephone service and virtual private network (VPN) service, is constructed by connecting a plurality of exchanges serving as service switching points (SSPs) via a common-channel signaling network to a service control point (SCP) that centrally processes queries from the plurality of SSPs.
Call control in each SSP in the IN includes DP (detecting point) processing which is performed to determine whether a call to be processed requires the processing of an additional service by the IN. When it is determined as a result of the DP processing that the call to be processed does not require the processing of an additional service, only basic call processing is performed; on the other hand, when it is determined that the call requires the processing of an additional service, the SSP makes a query to the SCP, and the remainder of the basic call processing is performed in accordance with the result of the query. For example, in the case of toll-free telephone service, when it is detected by the DP processing that the telephone number sent from the calling party contains a specific number indicating a toll-free service request, the SSP sends a query message to the SCP. The SCP that receives the query message retrieves an actual telephone number from a database by using a logical number contained in the telephone number from the calling party as a key, and returns a response message to the SSP that had sent the query message. The SSP that received the response message performs the remainder of the basic call processing by using the actual telephone number contained in the response message, and thus sets up a communication path to the destination.
To achieve the above call control, a call processing section in the exchange must have not only the function of processing ordinary calls (hereinafter called the basic call processing) but also the functions of generating and transmitting query messages to the SCP and receiving and interpreting response messages from the SCP (hereinafter called IN call processing). In DP-R (Request), both message transmission and reception are performed, but in DP-N (Notification) only message transmission is performed.
In the case of an exchange designed to perform the basic call processing only, the call processing section is constructed primarily from a basic call processing section having a plurality of basic call modules and a basic call processing execution controlling section for selectively activating the basic call modules. Each basic call module contains a description of a procedure (for example, a procedure for call initiation processing) that is necessary to cause a call state transition from the current stable state (for example, an idle state) to the next stable state (for example, a state ready for receiving dial signals with an off-hook subscriber line connected to the dial signal receiver). Each time an event is input, the basic call processing execution controlling section determines the basic call module to be activated (in the above example, the basic call module containing the description of the call initiation processing procedure) based on the combination of the current state (for example, an idle state) and the input event (in the above example, a call initiation event), and thus controls the execution of a series of basic call processing operations by sequentially activating the basic call modules. The basic call modules are activated in multiple fashion as tasks under control of an operating system (OS).
In the prior art, an IN has been introduced without making modifications to the basic structure of state transition in the existing exchange such as described above. More specifically, IN call modules, in which IN call processing is described along with the remainder of the basic call processing necessary to cause a transition to the next stable state after the execution of the IN call processing, are provided separately from the basic call modules, and when a request for an additional service is detected by the DP processing in the basic call module, the process branches to the IN call module which then performs the IN call processing and the subsequent basic call processing, thus making the transition to the next stable state.
This construction serves to minimize modifications to the basic call module and allows the introduction of an IN without changing the basic framework of the state transition process. However, the above-described prior art system has the following problems.
1) Since the same processing as part of the basic call processing implemented in the basic call module is also performed in the IN call module, there is much redundancy, which leads to degradation of maintainability. As a new IN message is added to expand the function, the redundancy increases and the maintainability further degrades.
2) There are cases where DP processing becomes necessary subsequently to the IN call processing. In such cases, the DP processing exists not only in the basic call module but also in the IN call module. This increases the complexity of the control structure and degrades the maintainability.
3) Since the construction is such that a branch is made from the basic call module to the IN call module, the IN call processing and the basic call processing are implemented with the same task, and at the OS level where the management of task executions is performed, it is not possible to identify whether or not the current task is in the process of executing the IN call processing. Therefore, when it is desired to temporarily suspend the IN call processing in the event of congestion, for example, it becomes necessary to scan a memory holding an intermediate state of the call, to identify a task executing the IN call processing, acquire the identifier of the task, and thereby suspend the task. It is therefore not possible to take a quick measure to respond to an emergency situation. Further, when it is desired to control the load resulting from the IN call processing, it is not easy to measure the load or count the tasks executing the IN call processing.
4) Since the construction is such that a branch is made from the basic call module to the IN call module, the IN call processing and the basic call processing are implemented with the same task. It is therefore not possible to quickly respond to an event, such as a disconnect request, that has occurred in the middle of the IN call processing, for example, during the processing of transmission to the SCP or during a state waiting for a response from the SCP.
5) The IN call processing includes the DP-R (Request) processing that requires waiting for a response message from the SCP after sending a message to the SCP, before the basic call processing can be resumed, and the DP-N (Notification) processing that can continue the basic call processing without waiting for a response from the SCP after sending a message to the SCP. In the prior art system, since the basic call processing and the IN call processing are implemented with the same task, even in the case of DP-N, the basic call processing cannot be resumed until the task (the task executing the IN call processing and the basic call processing) finishes the IN call processing for message transmission. Since this results in the suspension of the basic call processing, the response of the basic call processing is impaired. There are also cases where a plurality of DP-Ns may become necessary for one DP; in such cases, the suspension time of the basic call processing becomes longer and the problem becomes more serious.